
/*
 * Copyright (C) 2008-2009 Archie L. Cobbs. All rights reserved.
 *
 * $Id$
 */

package org.dellroad.sidekar.schema.change;

/**
 * Visitor pattern interface for concrete {@link SchemaChange} subclasses.
 */
public interface SchemaChangeSwitch {

    void caseAddEntityChange(AddEntityChange change);
    void caseRemoveEntityChange(RemoveEntityChange change);
    void caseRenameEntityChange(RenameEntityChange change);
    void caseEntityAbstractnessChange(EntityAbstractnessChange change);
    void caseAddFieldChange(AddFieldChange change);
    void caseRemoveFieldChange(RemoveFieldChange change);
    void caseAddIndexChange(AddIndexChange change);
    void caseRemoveIndexChange(RemoveIndexChange change);
}
